package com.gzz.orchid.context.domain.rbac;

import com.gzz.orchid.context.domain.rbac.entity.Permission;
import com.gzz.orchid.context.domain.rbac.entity.RoleDo;
import com.gzz.orchid.context.infrastructure.definition.Status;

import java.io.Serializable;
import java.util.List;

/**
 * @author higmd
 */
public interface IRoleRepository {
    RoleDo findByCode(String code);

    List<RoleDo> findListByIds(Serializable[] ids);

    int batchDelete(Serializable[] ids);

    int batchChangeStatus(Status status, List<RoleDo> doList);

    void save(RoleDo roleDo);

    List<Permission> getPermissions(String code);
}
